Время и порядок операций влияют на согласованность и разрешение конфликтов в распределённых системах.

Часы

  • Физические (wall clock): могут дрейфовать и несинхронны.

  • Логические (Lamport): дают порядок «случилось-перед» без реального времени.

  • Векторные часы: фиксируют причинность между узлами, позволяют увидеть конкурирующие обновления.

Порядок доставки

  • Total order broadcast/replication log: единый порядок событий (основа консенсуса).

  • Partially ordered лог (по ключу/партиции): порядок внутри ключа, но не глобально.

Зачем фиксировать

  • Конфликты записи (multi-leader, CRDT), дедупликация, idempotency key.

  • Событийная обработка: корректный подсчёт, устранение дубликатов, задержанные события.

Практика

  • Синхронизация времени (NTP), допуски на дрейф.

  • Метаданные: event time, processing time, trace id, версия/clock.

  • Политики: tie-breaking, повторная обработка и детерминированность.

Последнее обновление